#include "dyn_quad_qGauss32.h"

qGauss32::qGauss32(Functor &_func, double _a, double _b)
    : qGauss(_func,_a,_b)
{
    populateVectors();
}

void qGauss32::populateVectors()
{
    abscissas.set_size(32);
    abscissas(0) = -x16;
    abscissas(1) = -x15;
    abscissas(2) = -x14;
    abscissas(3) = -x13;
    abscissas(4) = -x12;
    abscissas(5) = -x11;
    abscissas(6) = -x10;
    abscissas(7) = -x9;
    abscissas(8) = -x8;
    abscissas(9) = -x7;
    abscissas(10) = -x6;
    abscissas(11) = -x5;
    abscissas(12) = -x4;
    abscissas(13) = -x3;
    abscissas(14) = -x2;
    abscissas(15) = -x1;
    abscissas(16) = x1;
    abscissas(17) = x2;
    abscissas(18) = x3;
    abscissas(19) = x4;
    abscissas(20) = x5;
    abscissas(21) = x6;
    abscissas(22) = x7;
    abscissas(23) = x8;
    abscissas(24) = x9;
    abscissas(25) = x10;
    abscissas(26) = x11;
    abscissas(27) = x12;
    abscissas(28) = x13;
    abscissas(29) = x14;
    abscissas(30) = x15;
    abscissas(31) = x16;

    weights.set_size(32);
    weights(0) = w16;
    weights(1) = w15;
    weights(2) = w14;
    weights(3) = w13;
    weights(4) = w12;
    weights(5) = w11;
    weights(6) = w10;
    weights(7) = w9;
    weights(8) = w8;
    weights(9) = w7;
    weights(10) = w6;
    weights(11) = w5;
    weights(12) = w4;
    weights(13) = w3;
    weights(14) = w2;
    weights(15) = w1;
    weights(16) = w1;
    weights(17) = w2;
    weights(18) = w3;
    weights(19) = w4;
    weights(20) = w5;
    weights(21) = w6;
    weights(22) = w7;
    weights(23) = w8;
    weights(24) = w9;
    weights(25) = w10;
    weights(26) = w11;
    weights(27) = w12;
    weights(28) = w13;
    weights(29) = w14;
    weights(30) = w15;
    weights(31) = w16;
}
